\section{Escenarios}
En esta sección haremos el seguimiento de los ejemplos representativos dados en el Trabajo Práctico 1 si tienen sentido en éste, ya que, como explicamos en la introducción, asumimos cosas que no necesariamente cumplan con las \textit{premisas} de los ejemplos previamente dados.

\ \\
\textbf{Primer ejemplo:}

No tiene sentido ya que es pedido no anticipado.
% Contexto:
% \begin{compactitem}
%  \item Se actualiza el stock diariamente.
%  \item Pedido común (no anticipado).
%  \item Hay stock para el pedido (si es común).
%  \item Por aplicación web/mobile
%  \item El usuario no estaba registrado.
%  \item El cliente informa que va a pasar a buscar el pedido por el bar.
% \end{compactitem}
% 
% Un cliente accede a la aplicación web/mobile y ordena cierta cantidad de productos para el mismo día. La aplicación le envía los datos, tanto del usuario como del pedido, al \textbf{sistema}. Éste revisa si el usuario está registrado, y como no lo está, lo registra. Como el bar actualiza stock todos los días a la mañana, el pedido se categoriza como no anticipado y se procede a revisar si hay stock suficiente para satisfacer el pedido. Hay stock suficiente por lo que se registra el pedido, se suman los puntos al usuario por el pedido, se suma una venta por cada uno de los productos encargados y se responde al usuario que la operación fue realizada con éxito. Además se pone la entrega del pedido como pendiente para que se haga cuando corresponda en el bar. El empleado se entera mediante el \textbf{sistema} de delivery que debe preparar un pedido para entregar en el bar. Llegado el momento, el empleado le entrega el pedido al cliente cuando éste llega para buscarlo.

\ \\
\textbf{Segundo ejemplo:}

No tiene sentido ya que asume que se reabastece semanalmente.
% 
% Contexto:
% \begin{compactitem}
%  \item Se actualiza el stock semanalmente.
% 
%  \item Pedido anticipado (para dentro de 10 días).
% 
%  \item Hay stock para el pedido (si es común).
% 
%  \item Por teléfono
% 
%  \item El usuario estaba registrado.
% 
%  \item Se entrega por delivery.
% \end{compactitem}
% 
% Un cliente llama por teléfono para hacer un pedido para dentro de 10 días. Un empleado lo atiende y accede a la aplicación para ingresar los datos pasados por el cliente. La aplicación, a su vez, envía los datos al \textbf{sistema}. Éste revisa si el usuario está registrado, y como lo está, no lo tiene que registrar. Como el bar actualiza una vez por semana su stock, el pedido se considera anticipado y se acepta. El \textbf{sistema} se lo comunica a la aplicación, quien se lo comunica al empleado, que a su vez se lo informa al cliente. También se registra el pedido, se suman los puntos al usuario por el pedido y se suma una venta por cada uno de los productos encargados. Además se pone la entrega del pedido como pendiente. El empleado se entera mediante el \textbf{sistema} de delivery que debe preparar un pedido para entregar por delivery. Llegado el momento, el empleado le entregará el pedido a un motoquero para que lo lleve.
% 
% Un día después de hacer el pedido, el cliente llama por teléfono para cancelar el pedido. Lo atiende un empleado y nuevamente utiliza la aplicación para comunicarse con el \textbf{sistema}. El \textbf{sistema} chequea si se puede realizar la cancelación y como aún no se pidieron los productos, se le comunica al cliente que se aceptó su cancelación. Por último, el \textbf{sistema} elimina los registros de la venta y le quita los puntos que se le habían puesto al usuario por la compra.


\ \\
\textbf{Tercer ejemplo:}

Contexto:
\begin{compactitem}
 \item Se actualiza el stock diariamente. (no es necesaria otra asunción)
\end{compactitem}

Empieza un nuevo día y el \textbf{sistema} calcula los productos necesarios para abastecer el stock para el día [Haciendo Lista de Compras (CU 11)]. Le comunica al empleado lo que tiene que comprar y éste hace el pedido al proveedor[Fin CU 11]. Cuando llega el proveedor con los productos, el empleado le informa al \textbf{sistema} que llegaron los productos encargados [Notificando Arribo de Stock].

\ \\
\textbf{Cuarto ejemplo:}

(Para este ejemplo no es necesario un contexto)

El empleado actualiza los valores de los descuentos para los productos anticipados comunicándole al \textbf{sistema} los nuevos valores. El \textbf{sistema} de ventas actualiza los precios en concordancia con lo pedido por el empleado [Actualizando Precios (CU6)].

\ \\ Como no nos parecieron suficientes los ejemplos, adaptamos el ejemplo 2 para nuestro modelo y agregamos un ejemplo de cancelación de pedido, así representamos más los escenarios posibles en nuestro \textit{mundo}.

\ \\
\textbf{Segundo ejemplo \texttt{Reloaded}:}

Contexto:
\begin{compactitem}
 \item Se actualiza el stock diariamente.
 \item Pedido anticipado.
 \item Por aplicación web/mobile
\end{compactitem}

Un cliente accede a la aplicación web/mobile y ordena cierta cantidad de productos para el día siguiente o después. La aplicación le envía los datos, tanto del usuario como del pedido, al \textbf{sistema} [Enviando Datos (CU 1)]. Éste revisa si es un pedido o una cancelación y, como es pedido [todavía CU 1], registra el stock necesario para satisfacer el pedido [CU 1 Usa a Haciendo Pedido (CU 2)] y le envía los datos del usuario y los puntos del pedido al Sistema de Usuarios[CU 2 Usa a Actualizando datos Usuario (CU 3)]. Éste lo registra con 0 puntos si no estaba registrado, le suma los puntos correspondientes por el pedido, estando o no registrado, y si pasó la franja de puntos le comunica al \textbf{sistema} que debe asignarle un descuento al pedido por haberla superado [Fin CU 3]. El \textbf{sistema} recibe la información del Sistema de Usuarios y le aplica el premio al pedido si así lo requiera, agrega al pedido como armado pendiente y entrega pendiente. Si se produjo algún error, se le comunica a la aplicación que la operación no 
se pudo realizar. Si no hay errores, se le envía el comunicado de que la operación fue satisfactoria [fin CU 2] y [fin CU 1].

Cuando llega el día tan esperado de la entrega, el \textbf{sistema} le avisa al empleado que debe armar un pedido ya que hay un pedido pendiente para este día en sus datos [Armando Pedido (CU 9)] y lo borra de los pendientes. Luego, el \textbf{sistema} calculará la ruta que debe realizar [CU 9 Usa a Entregando Pedido (CU 8)] y chequea si tiene motos disponibles para asignarle la entrega. Si no hay, le avisa al empleado que alquile una moto [CU 8 Usa a Alquilando Moto (CU 7)] y [Fin CU 7] . Ya que tiene una moto disponible, se le asigna la entrega al producto y se le da la ruta a seguir y si era moto del local, se la remueve de las motos disponibles [Fin CU 8]

Cuando la moto vuelve al Local, la moto reporta que entregó el pedido satisfactoriamente y se la asigna como disponible si era del local. Si no lo era, se le pega lo debido por el envío[Informando Pedido Entregado (CU 10)].

\ \\
\textbf{Nuevo Ejemplo:}

Contexto:
\begin{compactitem}
 \item Se actualiza el stock diariamente.
 \item Pedido anticipado.
 \item Por aplicación web/mobile
 \item Un cliente quiere cancelar un pedido.
\end{compactitem}

 
Un cliente accede a la aplicación web/mobile y ordena cancelar un pedido para un cierto día. La aplicación le envía los datos, tanto del usuario como del pedido, al \textbf{sistema} [Enviando Datos (CU 1)]. Éste revisa si es un pedido o una cancelación, y como es cancelación [todavía CU 1], revisa si la cancelación es válida [CU 1 usa a Cancelando Pedido (CU 4)]. Si no es válida, es decir, si se quiere cancelar el pedido en el mismo día de la entrega, se le comunica a la aplicación que no es posible llevar a cabo la operación [Fin CU4 y Fin CU1]. Si era válida, [sigue CU 4] se le envían los datos del usuario y los puntos del pedido al Sistema de Usuarios[CU 4 usa a Restableciento Datos Usuario (CU 5)]. Si no estaba registrado, le comunica al \textbf{sistema} que hubo un error en el restablecimiento [Fin CU 5] y el \textbf{sistema} se lo comunica a la App Web [Fin CU 4 y Fin CU 1]. Si estaba registrado, se le restablecen los puntos previos al usuario [Fin CU 5], se saca del registro el stock necesario del pedido y se borra como 
pendiente al armado y la entrega, también de éste. Al fin de todo esto, se le indica a la app que la operación fue realizada con éxito [Fin CU 4 y Fin CU 1].





